package org.ehe.erp.domain.quality.dto;

import lombok.Data;
import org.ehe.erp.domain.quality.vo.ErpQualityRecordVo;
import org.ehe.erp.domain.quality.vo.ErpQualityTaskBatchVo;
import org.ehe.erp.domain.quality.vo.ErpQualityTaskVo;

import java.io.Serial;
import java.io.Serializable;
import java.util.List;

/**
 * 质检任务详情响应对象
 *
 * @author zhangnn
 * @className QualityTaskDetailResponse
 * @description 包含任务基本信息、质检项目记录、物料批次信息的完整响应
 * @date 2025-09-10 15:00:00
 */
@Data
public class QualityTaskDetailResponse implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /** 质检任务基本信息 */
    private ErpQualityTaskVo taskInfo;

    /** 质检记录列表 */
    private List<ErpQualityRecordVo> qualityRecords;

    /** 物料批次信息列表 */
    private List<ErpQualityTaskBatchVo> batchInfos;

    /** 质检统计信息 */
    private QualityStatistics statistics;

    /**
     * 质检统计信息内部类
     */
    @Data
    public static class QualityStatistics implements Serializable {

        @Serial
        private static final long serialVersionUID = 1L;

        /** 总质检项目数 */
        private Integer totalItems;

        /** 已完成项目数 */
        private Integer completedItems;

        /** 合格项目数 */
        private Integer passedItems;

        /** 不合格项目数 */
        private Integer failedItems;

        /** 合格率 */
        private Double passRate;

        /** 完成进度 */
        private Double progress;
    }
}
